#include <cstdlib>
#include <cstdio>
#include <iostream>
#include <cstring>
#include <cstdio>

#include "EasyBMP.h"
#include "xml_parser.h"
#include "Matrix.h"

#ifndef _tissue_types_h_
#define _tissue_types_h_

using std::string;

class Tissue_Type
{
 public:
  string Tissue_Name;
  double ECM_density;
  double Blood_vessel_density;
  double structure_value;
  RGBApixel Color;
  
  double ECM_noise;
  
  Tissue_Type* pPrevious_Tissue_Type;
  Tissue_Type* pNext_Tissue_Type;
  
  Tissue_Type();
  ~Tissue_Type();
  
  void display( void );
};

RGBApixel OrderedTripleToRGBApixel( char* Triple );
void DisplayColor( RGBApixel Color );

bool InitializeTissueTypesFromXML( const char* XML_filename );
bool DisplayAllTissueTypes( void );

Tissue_Type* FindBestTissueMatch( RGBApixel InputColor );

bool ImportTissues( const char* ImageFile );

#endif

